package com.lx.controller;

import com.lx.entity.BankCard;
import com.lx.entity.User;
import com.lx.entity.vo.UserVo;
import com.lx.service.UserService;
import com.lx.service.impl.UserServiceImpl;

import java.util.List;

/**
 * @author c先生
 * @date 2022年05月05日 下午 4:00:19
 * @describe
 */

public class UserController {
    UserService userService = new UserServiceImpl();

    //注册用户
    public Integer registerUser(User user) {
        return userService.registerUser(user);
    }

    //用户登录
    public String loginUser(String name) {
        return userService.loginUser(name);
    }

    //查询
    public Integer getUserIdByPhone(String userPhone) {
        return userService.getUserIdByPhone(userPhone);
    }

    //查询全部信息
    public List<UserVo> getAll() {
        return userService.getAll();
    }

    /**
     * 根据用户名查询用户的所有信息
     *
     * @param userName 用户名
     * @return 一条用户信息
     */
    public User getUserInfoByName(String userName) {
        return userService.getUserInfoByName(userName);
    }

    /**
     * 根据手机号查询是否存在该用户
     *
     * @param phoneNum 查询关键词手机号
     * @return 是否存在该用户
     * @author yuanchu
     */
    public boolean isExistByPhoneNum(String phoneNum) {
        return userService.isExistByPhoneNum(phoneNum);
    }

    /**
     * 登录
     *
     * @param phoneNum 登录的手机号
     * @param pwd      输入的密码
     * @return 是否登录成功
     * @author yuanchu
     */
    public User login(String phoneNum, String pwd) {
        return userService.login(phoneNum, pwd);
    }

    /**
     * 通过身份号码判断该用户是否存在
     *
     * @param idCard 查询条件 身份证号
     * @return 是否存在
     * @author yuanchu
     */
    public boolean isExistByIdCard(String idCard) {
        return userService.isExistByIdCard(idCard);
    }

    /**
     * 为客户开户，主要使用后了User对象的userName、userPwd、userPhone、userAddress、userBirthday、userGender、openAccount、idCard对象
     *
     * @param user user对象 填充了 userName、userPwd、userPhone、userAddress、userBirthday、userGender、openAccount、idCard
     * @return 是否成功开户
     * @author yuanchu
     */
    public boolean openAccount(User user) {
        boolean isSuccess = userService.openAccount(user);
        if (isSuccess) {
            return true;
        }
        return false;
    }


}
